import pickle

from FonteDeRendaFrame import *
from Paciente import *
from Profissional import *

#O objetivo desta classe eh cadastrar e controlar as renda do sistema
class BancoDeDados:
    def __init__(self):
        pass

    #funcao que cadastra o objeto paciente numa lista em um arquivo
    def cadastrar_paciente(self, nome, cpf, sexo, telefone, celular, rua, bairro, numero, cidade, cep, estado, email, convenio):

        self.paciente = Paciente()
        self.paciente.set_nome(nome)
        self.paciente.set_cpf(cpf)
        self.paciente.set_sexo(sexo)
        self.paciente.set_telefone(telefone)
        self.paciente.set_celular(celular)
        self.paciente.set_email(email)
        self.paciente.set_rua(rua)
        self.paciente.set_bairro(bairro)
        self.paciente.set_numero(numero)
        self.paciente.set_cidade(cidade)
        self.paciente.set_cep(cep)
        self.paciente.set_estado(estado)
        self.paciente.set_convenio(convenio)

        self.listaDePacientes = []
        self.arquivo = open("paciente.tab")
        self.listaDePacientes = pickle.load(self.arquivo)
        self.arquivo.close()

        self.listaDePacientes.append(self.paciente)
        self.arquivo = open("paciente.tab", "w")
        pickle.dump(self.listaDePacientes, self.arquivo)
        self.arquivo.close()
 

    #funcao que retorna uma lista com todos os objetos pacientes numa lista       
    def consultar_paciente(self):
        self.lista_pacientes = []
        self.arquivo = open("paciente.tab")
        self.lista_pacientes = pickle.load(self.arquivo)
        self.arquivo.close()
        #teste para ver ser esta gravando no arquivo
        for i in self.lista_pacientes:
            print i.get_nome()
        return self.lista_pacientes

    def cadastrar_profissional(self, nome, cpf, sexo, telefone, celular, rua, bairro, numero, cidade, cep, estado, email, especialidade):

        self.profissional = Profissional()
        self.profissional.set_nome(nome)
        self.profissional.set_cpf(cpf)
        self.profissional.set_sexo(sexo)
        self.profissional.set_telefone(telefone)
        self.profissional.set_celular(celular)
        self.profissional.set_email(email)
        self.profissional.set_rua(rua)
        self.profissional.set_bairro(bairro)
        self.profissional.set_numero(numero)
        self.profissional.set_cidade(cidade)
        self.profissional.set_cep(cep)
        self.profissional.set_estado(estado)
        self.profissional.set_especialidade(especialidade)



        self.listaDeProfissionais = []
        self.arquivo = open("paciente.tab")
        self.listaDeProfissionais = pickle.load(self.arquivo)
        self.arquivo.close()

        self.listaDeProfissionais.append(self.paciente)
        self.arquivo = open("paciente.tab", "w")
        pickle.dump(self.listaDeProfissionais, self.arquivo)
        self.arquivo.close()
 

            
    def consultar_profissional(self):
        self.lista_profissionais = []
        self.arquivo = open("profissional.tab")
        self.lista_profissionais = pickle.load(self.arquivo)
        self.arquivo.close()
        for i in self.lista_profissionais:
            print i.get_nome()

    def cadastrar_renda(self, tipo, valor):

        self.renda = Renda()
        self.renda.set_tipo(tipo)
        self.renda.set_valor(valor)

        self.listaDeRendas = []
        self.arquivo = open("renda.tab")
        self.listaDeRendas = pickle.load(self.arquivo)
        self.arquivo.close()

        self.listaDeRendas.append(self.renda)
        self.arquivo = open("renda.tab", "w")
        pickle.dump(self.listaDeRendas, self.arquivo)
        self.arquivo.close()
 

            
    def consultar_renda(self):
        self.lista_rendas = []
        self.arquivo = open("renda.tab")
        self.lista_rendas = pickle.load(self.arquivo)
        self.arquivo.close()
        for i in self.lista_rendas:
            print i.get_nome()
        return self.lista_rendas
            
        
bd = BancoDeDados()
#bd.cadastrar_paciente('Jose', '08033124570', 'masc', '34474144','88538159', 'carlos rios', 'imbiribeira', '62', 'recife','51170040', 'PE', 'evis@afab.com', 'planoMerda')
        
